const fs = require('fs')
const path = require('path')
const http = require('http')
const qs=require('querystring')
const server = http.createServer()
// 服务器对象要监听 浏览器的请求
server.on('request', (req, res) => {
    // 设置兼容中文的编码
    res.setHeader('Content-Type', "application/json;charset=utf-8")
    console.log(req.url);
    if (req.url === '/api/province') {
        // 利用fs模块读取省份信息的文件数据，将其返回给浏览器
        const filePath = path.join(__dirname, 'json/province.json')
        fs.readFile(filePath, (err, data) => {
        // data就是读取的省份信息数据
        res.end(data)
    })
    }
    else if (req.url.startsWith('/api/city')) {
        const arr = req.url.split('?')
        // querystring模块的parse方法可以将键值对数据转换成对象
        const obj = qs.parse(arr[1])   
        console.log(obj);
        const filePath = path.join(__dirname, 'json/city.json')
        fs.readFile(filePath, (err, data) => {
            // 将读取的二进制数字 转换成字符串
            let citys = data.toString()
            citys = JSON.parse(citys)
            // end方法需要的是一个字符串,所以将城市信息变成一个字符串
            const str = JSON.stringify(citys[obj.pname])
            res.end(str)
        })
    }
    else {
    res.end('ok')
}
})
// 让服务器在特定的端口运行起来
server.listen(3289)